home *** CD-ROM | disk | FTP | other *** search
/ Cream of the Crop 3 / Cream of the Crop 3.iso / comm / aprs403x.zip / README.GPS < prev    next >
Text File  |  1994-03-15  |  48KB  |  778 lines

  1.  
  2.                     GPS or LORAN INTERFACED TO APRS
  3.  
  4. VERSION 4.03  See new Hardware Single Port (HSP) interface so you can operate 
  5. ANY GPS in the single port mode!  (no longer requires a special programmable
  6. GPS device)
  7.  
  8.   
  9. OVERVIEW: This file has evolved radically as this APRS project has developed.
  10. We began seriously parsing GPS data within APRS for amateur applications when
  11. the Magellan GPS card became available for $445 in September 92 (down from
  12. $1000).  Later the Motorola GPS card came down to the same price range, and
  13. these two devices were the only ones that we could find that were cheap AND
  14. which had USER programmable reporting rates so that they could be set up to
  15. operate stand-alone with only a TNC and radio as a tracking device.  Several
  16. HAMS began to build these autonomous tracking devices.  DRSI made a special
  17. APRS ROM for TAPR-2 clone TNC's to permit power-up in the proper mode.
  18.  
  19.     Next, in version 2.0, I added an optional GPS serial interface to APRS so
  20. that a laptop user could see himself tracked on the map.  Since I could
  21. put my own parsing and timing routines in APRS, this interface did not require
  22. any unique programming of the GPS device and so it was compatible with ANY GPS
  23. or LORAN device using the NMEA-0183 interface, but required a dual port laptop
  24. if both GPS and TNC operations were needed.  In version 3.05 this capability
  25. was enhanced for single port laptops to permit simultaneous operation of the
  26. GPS and TNC on the same serial port as long as one of the two programmable
  27. GPS devices was used.  See Single Port Mode (SPM) below. (and also HSP below)
  28.  
  29.     Next, PACCOM added a universal GPS interface into all of its product line
  30. of TNC's.  This capability reversed the previous situation, by now permitting
  31. MOST GPS's to be used with PACCOM TNC's instead of ONLY MAGELLAN/MOTOROLA
  32. GPS units with ANY TNC.  Modifications to APRS in versions 3.04 and 3.14
  33. improved the tracking of these devices.  NOTE, however, that the PACCOMM
  34. implementation only reports position (and not course and speed) and was
  35. designed for stand-alone tracking devices only; When the TNC is
  36. configured in the GPS mode, it CANNOT be used also as a TNC for normal packet
  37. communications.  Howie Goldstein, who writes the software for many TAPR-2
  38. Clone TNC's is working to improve this situation by adding code to the TNC
  39. that will permit ANY TNC to work with ANY GPS/LORAN.  Sometime after Howie
  40. writes this code, it should be available (at least as an optional ROM)
  41. through the TAPR-2 clone manufacturers (PACCOMM, DRSI, MFJ, etc).  BUT
  42. NOTE, that this is still for stand-alone tracking, these TNCs will not be
  43. useable at the same time for TNC (APRS) operations while in this mode.
  44.  
  45.     Recently, when I visited the boat store in December 93, I found that
  46. the typical hand-held GPS was now selling below $500!  This week (March 94)
  47. I visited again, and the 8 channel GARMIN GPS-50 was on sale all month for
  48. $398.  I bought one!  This means two things:  First, it is hard now to choose
  49. between a $500 circuit card GPS, which you can program to work with ANY TNC
  50. but you have to build a box, etc, or a complete hand-held unit WITH display
  51. and antenna for $100 less (but only compatible with PACCOM and no course and
  52. speed);  Secondly, this implies that the price of the circuit card will drop
  53. below $300 by May 94!  POSTSCRIPT:  It turns out that PACCOMM is not
  54. compatible with the GARMIN because it only accepts the GGA sentence which is
  55. not output by the GARMIN.
  56.  
  57.     So in order to make my GARMIN GPS-50 useful, I have now added in APRS
  58. version 4.03 the HSP mode in which APRS toggles the DTR line on the single
  59. serial port so that two transistors can then switch between the GPS and the
  60. TNC on the same port.  It works!
  61.  
  62.  
  63. * * * * * * * * * *     CURRENT RECOMMENDATION SUMMARY  * * * * * * * * * *
  64.  
  65. BOTH THE (present) PACCOMM AND THE (planned) HOWIE GOLDSTEIN TNC MODS ARE FOR
  66. STAND-ALONE TRACKING APPLICATIONS.  NEITHER ONE WILL SUPPORT BOTH GPS
  67. OPERATIONS AND TNC COMMUNICATIONS AT THE SAME TIME!  IN GPS OPERATIONS YOUR
  68. POSITION IS BOTH TRANSMITTED ON THE AIR, AND ALSO AVAILABLE TO YOU FOR DISPLAY
  69. ON APRS, BUT YOU CANNOT COMMUNICATE WITH OTHER PACKET USERS ON FREQUENCY.  If
  70. you want to use your laptop as BOTH a moving map display AND APRS communication
  71. device, you have two options:
  72.  
  73. FOR DUAL-PORT LAPTOPS:  Purchase ANY GPS and ANY TNC and run APRS O.K.
  74.  
  75. SINGLE-PORT LAPTOPS: Choose between the following options:
  76.  
  77.     A.  Buy a programmable Magellan or Motorola OEM GPS card and wire it up
  78.     to operate in the APRS single-port mode with ANY TNC.  This is the
  79.     cleanest, because only the desired position report data is interleaved
  80.     with the packet data, and collisions are minimized.
  81.  
  82.     B.  Use any GPS, with APRS in the single port mode.  Connect both the
  83.     GPS and TNC to your serial port via a SPDT Push Button on your dashboard
  84.     and press it for 2 seconds whenever you want to see (and update
  85.     to APRS) your current posit.  All the rest of the time, the TNC is
  86.     connected and operates as a normal comm device.  This is a kludge, and
  87.     some occasional garbled data should be expected.
  88.  
  89.     C.  Use any GPS with APRS in the Hardware Single Port (HSP) mode and build
  90.     a simple two transistor interface which permits APRS to switch between the
  91.     two devices.  This permits automatic GPS reporting and is an improvement
  92.     on option B above.  Since APRS controls the toggling, the potential for
  93.     garbling is further reduced than in B.
  94.  
  95. * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
  96.  
  97.  
  98.     To respond to this evolving technology, as of version 2.12+, this file
  99. began to contain three major subsections.  The first describes the new PACCOM
  100. direct TNC interface.  Second is the direct APRS software interface of GPS to
  101. your PC, and third is the direct TNC/GPS interface for building stand alone
  102. GPS trackers using the MAGELLAN and Motorola OEM cards.  As of March 94, I
  103. have also added a section on Differential correction.
  104.  
  105. PACCOM GPS INTERFACE:  All PACCOM TNC's with firmware 3.1 or later have a GPS
  106. ON command which allows you to hook up ANY NMEA-0183 GPS device to the serial
  107. port and the GGA position report will automatically be inserted into your
  108. BEACON text (after stripping off the $GPGGA header.  Thats why APRS did not
  109. recognize this stripped down GGA data until version 3.02).  You then set your
  110. beacon period and away you go!  This is the simplest and most direct way
  111. to go, since  1) You will NOT need a special GPS card,  2) you will not
  112. need modified TNC code.  PACCOMM even sells a TNC with GPS unit built-in!
  113. BUT THIS COMBINATION IS FOR STAND-ALONE TRACKERS ONLY!  WHILE IN GPS MODE,
  114. the TNC cannot be used for packet communications.
  115.  
  116.      The only shortcomming to the PACCOMM idea, (for now), is that it only
  117. recognizes the GGA sentence.  This means that you will only get position, NOT
  118. course and speed.  And it will not work with LORAN (or any GPS such as the
  119. GARMIN that only outputs the new RMC sentence and NOT the GGA).  APRS
  120. version 3.04 fixed a small bug it had with tracking thousandths precision
  121. from some GPS's with PACCOMM TNC's.  Please read the section below
  122. on NMEA interfacing.
  123.  
  124.     We would prefer that PACCOM and other TNC's adding GPS compatibility would
  125. place the location info in something other than BText.  For future universal
  126. applications, I am suggesting a new UI frame called LOCATION TEXT.  This LText
  127. is just like a Beacon Text, except it is a separate entity with its own
  128. timing.  Then you would also have an L N command for setting how often you
  129. want the LText to be transmitted (default is 1 hour).  By placing position
  130. reports in the LText, this would keep the BText free for other applications.
  131. (particularly, for announcing WHAT your mobile is doing, and what symbol to
  132. use, etc....)  This maintains the same distinction between BTEXT and POSITS that
  133. APRS already handles easily.  Similaraly, an LText command would allow you to
  134. manually enter your LAT/LONG or grid square in your TNC, even without a GPS,
  135. so that all TNC's in all networks will send their locations periodically.  The
  136. LText should be a free text format so that it is compatible with any
  137. future specific formats (currently APRS parses GGA, RMC, VTG, APRS L/L, now
  138. PACCOMM and grid squares and a future 8 character compressed L/L format) and
  139. there will probably be others too.  (PText would be a better name choice than
  140. LText, but it is already used by Kantronics as the PBBS text)
  141.  
  142. LOCATION TEXT TIMING:  The minimum L period should be 1 minute for manual
  143. entries, but the LText UI frame should be sent out ONCE everytime a new manual
  144. entry is made.  The ultimate objective for all UI beacons should be to have
  145. the optional APRS DECAYING time period algorithm built into all TNC's.  This
  146. DECAY option would be invoked with the L D N or B D N option commands.  The D
  147. stands for DECAY and the N is the final beacon period.  With the DECAY option,
  148. each new manual entry of BText or LText will force a UI frame immediately, 15
  149. sec later, 30 after that, 60 after that, 2 mins, then 4 mins, then 8 mins and
  150. so on to N minutes, and stay at N minutes forever.  This way, new UI
  151. information is transmitted immediately to all stations on the net, but old
  152. beacons soon fade away.  With this algorithm, I would expect the minimum value
  153. of N for the DECAY option would be 10 minutes, but a default value of 60 would
  154. be appropriate.  This way, stations that have unchanging information only
  155. beacon once an hour.  One other addition to complete the APRS philosophy, is
  156. to have the TNC respond with both its LText and BText randomly within one
  157. minute of seeing an APRS query (UI frame to the address of APRS with the text
  158. field set equal to ?APRS?)  This way, stations could drop back to a decayed
  159. beacon rate of once every 4 hours or so, but still would pop up on an
  160. APRS map if requested.
  161.  
  162.  
  163. DIRECT APRS GPS/LORAN INTERFACE OPTION:  As of version 2.0, APRS contains an
  164. optional ($9) NMEA-0183 software routine that parses the output of any standard
  165. GPS/LORAN device plugged directly (almost) into a serial port of your APRS
  166. computer.  APRS will not only plot the position of the attached station and its
  167. movements, but will also transmit those position reports into the APRS net.
  168. This feature was added by popular demand from all the James Bond guys out there
  169. that wanted to see themselves driving around on their laptop.  In version 3.04
  170. I improved on this option by adding a moving map display (select TRACK on the
  171. P-list) to keep your mobile always on the map.  The problem with most Laptops,
  172. however, is the availability of only one external serial port, so you probably
  173. have to give up the APRS packet position reporting (or operate in the APRS
  174. single-port-mode) if you want to see yourself.  With version 2.00 and later
  175. there are four possible operational configurations:
  176.  
  177.  
  178.      TNC only  - 1 Serial - Normal APRS for tracking other stations
  179.      TNC/GPS   - 2 Serial - Normal APRS with automatic GPS position update
  180.      GPS only  - 1 Serial - Tracking yourself (no other stations appear)
  181.      TNC/GPS   - 1 Serial - Single Port Mode will do both! See below
  182.                   
  183.  
  184. NMEA INTERFACING NOTES:  Operation of a GPS with the optional $9 APRS software
  185. routine is automatic.  But first you must interface the NMEA output of your GPS
  186. or LORAN to your RS-232 input.  NOTE that NMEA and RS-232 are not exactly
  187. compatible.  The NMEA specification is actually EIA-422, which means an
  188. isolated differential receive circuit is recommended.  An opto-isolator is the
  189. receommended interface to RS-232.  But it should also work by simply connecting
  190. the NMEA pin A to RXD and pin B to ground.  Both standards are the same sense,
  191. with NMEA a 0 and +5 volt signal, and RS-232 a +3 and -3 volt signal.  The
  192. direct connection may not work with many serial interfaces without a (-) voltage
  193. pulldown resistor.  Often a series 1k resistor and a 5 to 10k resistor tied
  194. to your unused TXD data line will suffice to provide the - voltage:
  195.  
  196. GPS NMEA OUT           1 K                             LAPTOP SERIAL PORT
  197.  
  198.    A  >-------------/\/\/\/\---*------------------------> RXD
  199.                                |          10K
  200.                                *-------\/\/\/\/\--------< TXD
  201.  
  202.    B  *-------------------------------------------------* GND
  203.  
  204.  
  205.      Do NOT connect your PC serial output to your GPS NMEA input if there
  206. is one, since APRS does not send anything to the NMEA device.  It has been
  207. reported that the TRAXAR GPS devices may lock up solid if you connect
  208. anything to the NMEA input.   You must then remove the battery and do
  209. a hard reset to get it back!  Of course, if you are using one of the program-
  210. mable GPS devices (Motorola/Magellan), then you WILL make this connection, in
  211. order to send commands to the GPS.  Next, set your serial port to the NMEA-0183
  212. standard baudrate of 4800 baud.   APRS scans the interface data looking for a
  213. GLL/GGA/RMC and VTG data format to extract position information.  The data on
  214. the NMEA interface is continuous and refreshed every second or two.  (If you
  215. have been using a Magellan or a Motorola and have programmed a very slow data
  216. period, you may want to reset this to a more normal few second rate.)  In order
  217. not to saturate an APRS net or to overload your disk storage or to slow down
  218. your other APRS keyboard processing, APRS only samples the data at slower rate.
  219. This is called the REFRESH rate and is set during intitialization of APRS for
  220. GPS or by using the alt-S command.  This period determines how often your
  221. screen is updated from your own GPS.  Usually this is still too rapid for
  222. transmitting at 1200 baud on a shared packet channel, so APRS also has another
  223. period called PACKET PERIOD which is usually set for 1 to 10 minutes also using
  224. the alt-S command.  We have found that 30 seconds updates are OK for special
  225. events when there are only one or two mobile APRS stations.  As more and more
  226. stations go mobile with GPS/APRS, 1 minute or 2 minute updates are more
  227. appropriate.  To further reduce channel loading, APRS will decay the period
  228. when the station is not moving.
  229.  
  230.  
  231. APRS OPTIONAL NMEA-0183 INTERFACE:  The optional COMM port registration for
  232. direct connection of any NMEA-0183 device (GPS or LORAN), is available to
  233. registered APRS users from the author for $9.  It can be purchased at the time
  234. of registration or as an option later on.
  235.  
  236.  
  237. GPS MOBILE AND TNC WITH ONLY ONE SERIAL PORT (Single Port Mode)
  238.  
  239.      Since most laptops only have a single external serial port, it would seem
  240. to be impossible to both run GPS and operate APRS packet at the same time.  But
  241. by using the programmble MAGELLAN or Motorola, to reduce the GPS data rate, it
  242. is possible to wire-OR the TNC and GPS data outputs together going into the
  243. single serial port.  This requires APRS to be looking for packet headers on
  244. everything comming from the TNC, but then to also recognize raw GPS data too.
  245. The only problems with this arrangement are data collisions and ambiguity on
  246. incomming VTG packets.  At a once-a-minute GPS rate and a 100% saturated 1200
  247. baud packet channel, the 9600 baud TNC data will experience a collision less
  248. than 1% of the time and 85% of all GPS reports will be collision free.  The
  249. ambiguity problem is caused by VTG packets transmitted as a second frame from
  250. a tracking device (see above).  These off-the-air VTG packets also have no
  251. packet header and cannot be distinguished from VTG data from the local GPS.
  252. Since GGA sentences off-the-air preceed the VTG and are always received with
  253. an attached packet header, they can be uniquely identified.  APRS will only
  254. process a VTG sentence if it has been received within 1 second of a GGA
  255. and it will assume that the VTG came from the same station.
  256.  
  257.      Again, this configuration will appear to only work if you were using the
  258. programmable MAGELLAN or Motorola which can be told to send GPS data only once
  259. every minute or so.  But (in version 3.08) we just realized that ANY GPS can
  260. be conected in SinglePortMode by just using a SPDT push button switch!  The
  261. laptop is normally connected to receive data from the TNC, but whenever the
  262. operator presses the button and holds it for about 2 seconds, the GPS data
  263. will be routed to the laptop and APRS should be able to parse out at least
  264. one GPS position report!  This updates APRS to your present position and
  265. then on release of the button, the TNC is connected as normal.  (W6PNC built
  266. a simple 555 timer to do this automatically every minute for his.)
  267.  
  268.    To activate this Single Port Mode (SPM), bring up APRS in one-port TNC mode
  269. being sure to set the TNC to the same BAUD RATE as your GPS.  Then do the
  270. normal validation.  Next hit shift-F2 to activate SPM which you can verify by
  271. the lower case (spm) on the yellow control panel.  Then you must use the V
  272. command a second time with your GPS validation number to enable your GPS
  273. interface.  If this is done correctly, then the SPM will show in uppercase.
  274. ALSO NOTE THAT BOTH THE TNC AND THE GPS MUST BE RUNNING AT THE SAME BAUD RATE.
  275. THIS IS USUALLY 4800 BAUD FOR NORMAL NMEA OUTPUTS.
  276.  
  277.      For stations with the programmable GPS units, the data from both the TNC
  278. and the GPS can be permanently wire-ORed together as long as they are both set
  279. to the same baud rate.  Since APRS is receiving the GPS data, it will transmit
  280. the resulting APRS position report for the station and so the GPS should NOT
  281. also be sending data to the TNC (as is normally the case with the standalone
  282. MAGELLAN or Motorola GPS).  The screen refresh rate is set by the period
  283. programmed into your GPS (30 seconds or so is about right).  The position
  284. report transmission rate is set by ALT-S.
  285.  
  286.     In anticipation of this SPM mode of operation, I improved the GPS
  287. interface in version 3.03, so there is less time spent out on the GPS port
  288. waiting for data.  With version 3.03, you can keep your MAGELLAN or Motorola
  289. at a one minute rate and still use it as a direct connection to APRS.  In the
  290. past, if you did this, you would be stuck for a whole minute until the next
  291. fix came along.  In version 3.04 I added the moving map display to keep your
  292. mobile always on the map.  Select the TRACK option on the P-list display.
  293.  
  294.  
  295. HARDWARE SINGLE PORT MODE  (HSP)
  296.  
  297.      The Single Port Mode described earlier permits sharing a single computer
  298. COMM port between the TNC and GPS, but requires special GPS devices that can
  299. be programmed to output only once a minute or so.  The only way to operate in
  300. the Single Port Mode with a typical GPS that outputs once a second, is to
  301. install a momentary push button switch and have the operator press the button
  302. each time he wants to update APRS with his GPS position.  In version 4.03 of
  303. APRS, I installed a routine to do this for you!
  304.  
  305.      This simple 2 transistor interface can be used to share a single serial
  306. port between both a packet TNC and ANY GPS device.  In mobile APRS operations,
  307. this permits the vast majority of portable computers that only have a single
  308. serial port to both communicate in the APRS network while also simultaneously
  309. reading the vehcile's position from an attached GPS.  In this HSP mode, APRS
  310. will periodically toggle the DTR output of the serial port for a second or so
  311. to switch between the devices.  With DTR held high (normal) the GPS data is
  312. shunted to GND while the TNC operates normally.  When APRS toggles the DTR
  313. low, this holds off output from the TNC, but also enables data through the
  314. emitter follower from the GPS.  As soon as APRS receives the GPS data it
  315. needs, it restores DTR so the TNC is connected for normal APRS operations.
  316. REMEMBER THAT YOUR TNC AND GPS MUST BE SETUP AT THE SAME BAUD RATE, usually
  317. 4800 baud.
  318.  
  319.                               *------------------< RTS (+V)
  320.  GPS NMEA                   |/ c
  321.    >------/\/\/\/---*----*--|
  322.  OUTPUT      1k     |   NPN |\ e
  323.                     |         *----->|-----*-----> RXD
  324.  TNC RXD            |                      |
  325.    >--------------------------*----->|-----*
  326.                     *         |            |       SINGLE
  327.                     |         *---/\/\/\/--*       LAPTOP
  328.                    c \|            10k             RS-232
  329.                       |--*--------/\/\/\/--*       PORT
  330.                    e /| NPN        10k     |
  331.                     |                      |
  332.  TNC DTR          ////                     |
  333.    <---------------------------------------*-----< DTR
  334.  
  335.  TNC TXD
  336.    <---------------------------------------------< TXD
  337.  
  338. My goal was to install these few components in a back-to-back DB-9 connector
  339. so that the GPS can be operated alone or with a TNC.  By installing this
  340. adapter on the end of the cable to my GPS, it is always handy.  Notice that
  341. a dotted line shows how to add just one wire to take the output of the TNC to
  342. the DGPS input of the GPS if your GPS is DGPS capable and if someone in your
  343. area is transmitting DGPS data on your packet channel.
  344.  
  345.  
  346.                 1     2     3     4     5   DB-9 FEMALE TO COMM PORT
  347.                 O     O     O     O     O   
  348.                       |  7  |     |     |
  349.                    O  |  O  |  O  |  O  |
  350.                       |  |  |     |     |
  351.                       |  |  |     |     |
  352.   NMEA      N C------ | -*  |     |     *--------E N
  353.   FROM      P E--->|--*     |     *---- | -/\/\/-B P
  354.   GPS       N B---*-- | --- | --- | --- | -------C N
  355.                   |   |     |     |     |
  356.                   |   *--*  |     |     |
  357.    A >-----/\/\/--*   |  |  |     |     |
  358.                       \  -  |     |     |
  359.    DGPS < - - - - *   /  ^  |     |     |
  360.                   |   \  |  |     |     |
  361.                   |   |  |  |     |     |
  362.                   * - *--*  |     |     |
  363.    B ---------------- | --- | --- | ----*
  364.                       |     |     |     |
  365.                       |     |     |     |
  366.                 O 1   O 2   O 3   O 4   O 5   DB-9 MALE TO TNC CABLE
  367.  
  368.                    O     O     O     O
  369.  
  370.  
  371. In this adapter, the voltage to provide the -V bias to convert the NMEA output
  372. to RS-232 levels comes from the output of the TNC.  For this reason, if the
  373. GPS is used alone without the TNC, a jumper must be connected between
  374. pins 2 and 3 of the empty TNC connector.  This takes the -v from the unused
  375. TXD output of the PC.  I recommend carrying a stubby DB-9 female connector
  376. with this jumper permanently installed.
  377.  
  378.                 O 1   O 2   O 3   O 4   O 5   DB-9 FEMALE STUB USED TO PROVIDE
  379.                       |     |                    -V BIAS WHEN TNC IS NOT USED
  380.                    O  |  O  |  O     O
  381.                       |     |
  382.                       *-----*
  383.  
  384. HSP OPERATIONS:  The set up procedure for HSP is similar to SPM, except that
  385. Shift-F7 is pressed instead of Shift-F2.   To activate HSP, bring up APRS in
  386. one-port TNC mode being sure to set the TNC to the same BAUD RATE as your GPS,
  387. probably 4800.  Then do the normal validation.  Next hit shift-F7 to activate
  388. HSP which you can verify by the lower case (hsp) on the yellow control panel.
  389. Then you must use the V command a second time with your GPS validation number
  390. to enable your GPS interface.  If this is done correctly, then the SPM will
  391. show in uppercase.  In HSP mode both the screen refresh rate and position
  392. transmission rate are set with the alt-S command.
  393.  
  394.  
  395. US NAVY MAGNAVOX 1105 SATNAV SYSTEM:
  396.  
  397.    I did write a version of APRS that is plug compatible with the MAGNAVOX
  398. 1105 SATNAV system.  This is a 1970's vintage TRANSIT SATNAV system which has
  399. both LORAN and SATNAV integrated together in the same box.  This unit is found
  400. on many US NAVY ships.  It sends position updates in a very verbose protocol
  401. once every minute.  This is the system used on the Naval Academy boats.  If
  402. you have use for this module, please contact me.
  403.  
  404.  
  405. NOTES ON MOBILE GPS OPERATION:  After over a year of operating GPS mobile, for
  406. other to track me, I finally borrowed an old 8088 Laptop and went James Bond
  407. mobile to the inlaws over Thanksgiving 93.  It worked beautifully.  I actually
  408. never thought it would be anything more than a toy, but when you are stuck in
  409. holiday weekend traffic for hours, and you are on an unfamiliar interstate,
  410. crawling at 10 MPH or less, with no signs in sight, there is nothing that will
  411. tell you where you are other than GPS!  LESSONS LEARNED!  1) we were 5 miles
  412. out when I finally got everything going and then had to turn around and drive
  413. back home to get my GPS Validation number!!!  Write it down!  2) Recommend
  414. making a trimmed down disk with only the maps you will need on the disk.
  415. 3) when you QUIT APRS, your TRACK HISTORY is NOT saved UNLESS you sepcify a
  416. file name OTHER than BACKUP.BK (or do a ctrl-S save).  4) In version 3.04 I
  417. added the TRACK mode so that APRS could recenter the map if your station
  418. moved to the edge of the screen.  5) GPS fixes indicate GGA/NUL as course and
  419. speed if no VTG data is available, or "Last GPS fix" if the GPS device is
  420. reporting GPS not available and the fix is older than a few seconds.  6) set
  421. your refresh rate to a long enough time period so that APRS is not always
  422. processing GPS and has time to service the keyboard.  I set to 20 seconds or
  423. more usually.  7) make notes of any map errors or disagreements with GPS,
  424. with the latest MAPFIX.bas, you can now replay your track history and fix any
  425. map easily on-screen.  8) for most highway maps and 1 minute reporting at
  426. 60 MPH, zooming in below 8 miles is usually a waste of time.  For this reason
  427. don't waste your time making maps with every little twist and turn in the roaad;
  428. it just takes time and memory and makes no difference.  In all applications of
  429. APRS so far, you just want to know what road the mobile is on, and how far
  430. along he is between point A and B.  A straight line between A and B is not as
  431. pretty, but shows the road as well as 20 points showing all the curves.  If
  432. you do save any RAW GPS data outside of the APRS environment, the following
  433. two programs may be useful in reconstructing GPS data.  They are provided
  434. as-is, I just made them for some quick and dirty file conversions that I had
  435. to do in the past, but thought they might be useful to others as a basis for
  436. writing your own routines.
  437.  
  438. FILTRHST.bas:  APRS automatically builds a track history for all moving
  439. stations.  To avoid saving redundant position reports, a filter was added in
  440. APRS version 2.0 to filter all reports and to only save positions that are
  441. changing.  The default value of the filter is wide enough to include the
  442. variations in position due to GPS selective avaiability. (+/- 0.03 minutes)
  443. This value can be changed with the alt-F Filter command.  I wrote a QBasic
  444. utility called FILTRHST.bas that can be used to re-filter a track history file
  445. to remove additional points.  Since the source code is provided, this program
  446. makes a good starting point for writing other routines for manipulating APRS
  447. track history files.  In addition to filtering, this program can be used to
  448. combine a number of separate track history files into one file.
  449.  
  450. GPStoHST.bas:  Since the simplest GPS interface is to just plug the output of
  451. a GPS receiver into a laptop computer and save a text file.  This program will
  452. take such a text file and generate an APRS track history file.  Actually, it
  453. only looks for the GGA and VTG NMEA-0183 sentences and combines them into the
  454. one line APRS format.
  455.  
  456.  
  457.  
  458. TNC INTERFACE TO GPS or LORAN-C FOR MOBILES WITHOUT PC's
  459.  
  460.      This section describes an alternate method to the PACCOM interface
  461. described above for interfacing navigation devices directly to a TNC for
  462. building small autonomous mobile position reporting devices without requiring
  463. a PC computer to do format conversions.  This method has the advantage of
  464. transmitting any of the NMEA-0183 sentences (to include course, speed and
  465. altitude) but requires the use of special programmable GPS/LORAN devices.
  466. Although almost all GPS/LORAN devices have an NMEA-0183 serial data output
  467. (except for the Rockwell engine and the SONY Pixis), most of them do not give
  468. the user the ability to modify the periodicity of the data reported via the
  469. interface.
  470.  
  471.      In most devices, navigation data is continually updated about every two
  472. seconds at 4800 baud.  This is far too much data to transmit over a shared
  473. 1200 baud AX.25 packet link.  Fortunately some devices do permit the operator
  474. to specify not only the reporting rate, but also what data formats are included
  475. in the reports.  I have seen some LORAN devices that have a separate
  476. "printer" port which can be configured by the user to output a report once
  477. every N minutes or even hours.  Unfortunately, most users manuals I have
  478. peruised in my local boat store do not make it immediately obvious what the
  479. user configuration options are.  We have found two GPS engines which are
  480. designed for the experimenter.
  481.  
  482. 1.    The MAGELLAN OEM 5000 circuit board that I use is a GPS engine on a
  483. 3.5 by 7 inch circuit card that costs about $445 and produces RS-232 output
  484. in NMEA format and requires only a GPS antenna and 12 volts at 250 MA input;
  485. it also includes the RTCM-104 differential correction.  Call Emiel Yakoub at
  486. MAGELLAN 960 Overland Ct, San Dimas, CA 91733, phone 714 394-5000.  Since it
  487. is an OEM card, it has full user programmability.  It can be set to output any
  488. of the dozens of NMEA standard formats at any periodicity between 1 second up
  489. to 5 minutes.  My APRS software recognizes four of the NMEA-0183 formats:
  490.  
  491.    $GPGGA - for position and height  (no loran equivalent)  ] Use only one
  492.    $GPGLL - for position only        ($LCGLL for LORAN)     ] of these two
  493.    $GPVTG - for velocity and course  ($LCVTG for LORAN)
  494.    $GPRMC - Posn, Course and speed   (Has all but height) (not in MAGELLAN)
  495.  
  496. 2.  Tom Clark (W3IWI) has found that the Motorola OEM prototype card also has
  497. user programmability of the NMEA outputs and can be slowed down to APRS
  498. application rates for direct connection to a TNC without the need for a
  499. computer in between.  This card includes the RMC message which contains both
  500. position and course/speed in one NMEA sentence.  Call Jennifer Spitzen at
  501. MOTOROLA, 708 480-5699 and ask for the BASIC ENCORE circuit board.  Here is
  502. what I have learned so far for quantities of 1-99.  Card runs on 12 volts,
  503. has NMEA 0183 output and RTCM-104 (differential correction) standard and comes
  504. with an active patch antenna and cable for $499.  Without antenna is $435,
  505. but unlike the Magellan, this card must have an additional 20 dB gain in front
  506. of it to work with a passive antenna.  The 1 pulse per second timing option is
  507. an additional $100.  The combined Motorola Rcvr/Ant pricing is about equal to
  508. the MAGELLAN card/antenna combination, but it is smaller, and it outputs the
  509. combined RMC message which is more effecient packet wise.  It also outputs
  510. altitudes to 56,000 feet in the GGA message.
  511.  
  512. CAUTION:  I DO NOT HAVE ONE OF THESE YET.  BUT TOM's WAS ON THE AIR AND WAS
  513. COMPATIBLE WITH APRS.  Oh yes, the full MOTOROLA evaluation kit was $1200
  514. which includes everything you would ever want.  The $499 package does NOT
  515. include the support software and documentation for full control of the card.
  516. But Motorola says we can copy portions of the manual if we can get Tom CLark
  517. or someone else that has the documentation to just tell us the command string
  518. for setting the card into the right mode, then we can develop our own HAM
  519. RADIO documentation and save big bucks.
  520.  
  521.      An automatic vehicle tracking system can be assembled by simply
  522. connecting the RS-232 output from one of these programmable GPS's directly
  523. into the TNC, setting the periodicity to 1 minute or so and selecting only
  524. the RMC or GGA/VTG sentences to be output.  The TNC must be placed in UNPROTO
  525. CONVERSE, and from then on, every minute a GPS position report will be
  526. transmitted.  The APRS software will decode the raw NMEA position reports
  527. and plot the station on the map!
  528.  
  529. MAGELLAN CARD OPTIONS:   Since this card was designed for the OEM market,
  530. for the individual purchaser it is a good idea to pay the additional $60 for
  531. their  development kit consisting of some excellent PC software, the
  532. technical manual, a wall power supply, RS-232 cable, Power switch, and short
  533. SMB to TNC adapter cable.  Then all you need is an antenna.  They sell a $130
  534. external "egg" antenna with built-in LNA for operation through either 18 or
  535. 25 feet of cable.  This antenna cable is terminated with a TNC connector, and
  536. that is why the development kit includes the SMB/TNC pigtail.  OR you can
  537. purchase their $60 passive antenna which has its own 6 inch SMB pigtail for
  538. direct connection to the circuit board.  This antenna is a 1x1x3 inch weather
  539. proof antenna like you see on their handheld GPS units.  Using this antenna
  540. obviates the need for the SMB/TNC pigtail ($25 separately if you dont get the
  541. development kit) if you really want to be cheap.  Since the circuit card
  542. has no display, it can actually be mounted in a weather proof container right
  543. at the antenna.  Only 12 volts and RS-232 need to come down inside your
  544. vehicle.  Their $60 passive antenna is quadrifilar helix antenna with true
  545. hemispherical coverage, but a 1.8 inch ground plane antenna is only 3 dB worse
  546. if you are not interested in good 3D altitude fixes.  Overhead satellites are
  547. not used for 2D fixes, but are used for 3D fixes.  I leave my card on 2D all
  548. the time since 3D requires 4 vice 3 satellites, and the 2D fix is not as good
  549. while running 3D.  Also, altitude is measured against DATUM which is not
  550. necessarily Sea Level.  So I conclude that the altitude figure is of little
  551. value.  The MAGELLAN cannot output an altitude above 999 meters except in a
  552. propriatery NMEA sentence which I have not yet included in APRS.
  553.  
  554. GPS ENGINE SET UP:  Follow all MAGELLAN instructions for initializing your
  555. GPS engine using your PC and their NAV program.  After the system is running
  556. and producing fixes, send commands to turn off all outputs one at a time and
  557. change the periodicity for the position and velocity reports from once a
  558. second to a slower rate as shown below.  An alternate startup procedure is to
  559. simply apply power, attach an antenna, and wait for ten minutes or so.  The
  560. GPS will automatically aquire satellites and be operational without any
  561. external initialization after being exposed to full sky.  Using this method,
  562. there will be no outputs until you send the GPS card the following commands
  563. to set up the reporting rates for position and velocity.  These commands may
  564. be sent from any dumb terminal as follows:
  565.  
  566. $PMGLI,00,B00,7,A  (for GGA GPS position only)       Where 6 = 30 Secs
  567. $PMGLI,00,B01,7,A  (for GLL LORAN position only)           7 = 1 Minute
  568. $PMGLI,00,EOO,7,A  (for course and speed with either)      8 = 2 Minutes
  569.                                                            9 = 5 minutes
  570.  
  571.      Each line must end with a carriage return-linefeed.  The GPS engine
  572. gives no responses to commands, other than doing what it is commanded.  You
  573. might try a value of 5 which is once every 10 seconds as a test to be sure
  574. the GPS card is recognizing your commands.
  575.  
  576. BATTERY BACKUP:  Be sure to add the battery back up supply so that the card
  577. can be turned off without having to re-initialize every time.  I use a simple
  578. 9 volt battery, diode isolated from the main supply rather than bothering
  579. with the special 3.6 volt lithium memory cell suggested.  The GPS card has a
  580. 12 volt input and a separate ON/OFF line.  With the diode isolation of the 9
  581. volt battery, the on/of line detects the loss of the 12 volt supply, and
  582. powers down the GPS engine.  Current drain drops to microamps, and the 9 volt
  583. supply through the regulator keeps all memory backed up.  An Alkaline battery
  584. lasts about 6 months with the GPS off 99% of the time; longer if the GPS is
  585. powered up longer.  I chose this route, becaues I could not find a cheap 3.6
  586. volt (not just 3 volt) lithium cell for direct connection to the battery
  587. backup pin.
  588.  
  589. TNC SETUP DETAILS:  Unfortunately the simple direct connection from the
  590. MAGELLAN GPS card to the TNC is slightly more complicated because they do not
  591. output the RMC sentence which contains both position AND course/speed in one
  592. line.  To see Course and Speed from a MAGELLAN or a LORAN, you must enable
  593. both GGA (or GLL) and the VTG sentence.  These two sentences are separated a
  594. few milliseconds and force the TNC to generate two packets, one right after
  595. the other.  This is a problem if a digipeater path is used, because the
  596. digipeater will begin digipeating the first position fix packet and cover up
  597. the trailing velocity packet.  To solve this problem, since most applications
  598. require a digipeater path for longer ranges, the sending TNC needs to be
  599. instructed to send packets not on receipt of every carriage return, but on a
  600. timing function.  Set CPACTIME ON and change the SENDPACK character from $0D
  601. to anything else (say $01).  This way, both the position fix and velocity
  602. lines will be sent together in the same packet one second after the last
  603. character is received from the GPS.  This packet, containing two frames, will
  604. then be digipeated all together by the digipeater with no break in between.
  605. If you use the Motorola which inplements the RMC sentence, this double packet
  606. problem does not exist. (Even if you also turn on GGA so that you can get
  607. altitude for a balloon, the problem is not significant, since you will not
  608. need a digipeater for a balloon!).
  609.  
  610. LINEFEEDS and FLOW CONTROL:  Since the GPS is sending each line with a CR/LF
  611. on the end, your TNC will always end up placing the superfluous linefeed at
  612. the beginnning of the next packet.  To defeat linefeeds, set LFIGNORE on.
  613. (for the non-standard TNC products, try the Linefeed Supress, LFS ON)
  614. Similarly, your terminal program must send CR-LF on each command to the GPS
  615. card.  When you try to talk to your TNC with CR-LF, you will experience a
  616. lockup condition since the extra LF will look to the TNC like the beginning
  617. of a new command line and will hold off all TNC output.  To overcome  this
  618. problem, set FLOW OFF.  Here are the commands which must be changed from
  619. factory defaults for most TAPR-2 TNC's:
  620.  
  621.   ECHO OFF,  FLOW OFF,  LFIGNORE ON,  CPACTIME ON, SENDPAC $01
  622.  
  623. (Remember that you have SENDPAC set to $01, and change it back to $0d for
  624. normal packet operations!   I was pulling my hair out while driving through
  625. Knoxville and trying to connect to the local node.  It would ignore all of my
  626. node commands as if I was personna-non-grata!  I finally realized it didn't
  627. like the $01's being imbedded in my packets!)
  628.  
  629. UNPROTO-CONVERSE-MODE:   And now for the last problem; keeping the TNC in
  630. converse mode.  TNC's always default to command mode when turned on.  Until
  631. the manufacturers put an UNSTART command in their TNC to cause it to power up
  632. in Unproto-Converse, you must either keep the TNC permanently turned on after
  633. setting converse mode, carry along a terminal to issue the CONV command, or
  634. try to make a firmware patch to the TNC code.  Transparent mode could be
  635. used, but the monitor function does not work in transparent mode and the TNC
  636. can not then be used for receiving APRS packets.  Fortunately, Howie
  637. Goldstein who wrote the original TAPR-2 code, identified a software patch to
  638. the DRSI version of the ROM that will power up in UNPROTO converse.  This ROM
  639. should work in most TAPR-2 clones.  I have used it in the MFJ-1274, and it
  640. should easily work in the PACCOM Tiny-2.  I have asked DRSI to make this ROM
  641. available to amateurs at a nominal cost.  Their price is $27.  This ROM does
  642. not preclude any other TNC functions.  If you hit ctrl-c you get instantly
  643. to command mode for normal operations.
  644.  
  645. DUMB TERMINAL SETUP:  So I can see the command that I am typing into the GPS
  646. card, I configure my terminal device as half duplex.  The GPS also needs the
  647. CR/LF sequence at the end of each command, so I set the terminal to translate
  648. CR to the CR/LF sequence.  In order to use the same terminal with the TNC,
  649. then, that is why I turn ECHO and FLOW off in the TNC.  My GPS/TNC box has
  650. one DB-9 serial connector and two switches to select whether the terminal is
  651. talking to the GPS or the TNC, and the second switch to enable the data
  652. output from the GPS to go into the TNC after all configuration is complete.
  653.  
  654. SYMBOLS:  Starting with version 1.17, APRS now has 28 or more different
  655. symbols for packet stations or objects placed on the map.  Since a simple
  656. TNC/GPS tracking combo does not have the advantage of a PC running APRS to
  657. format the APRS position report, I had to make two kludges to permit the TNC
  658. alone to designate the desired display symbol.  First, APRS will assume that
  659. all stations outputting direct NMEA data that have a -5, -6, -7, -8 or -9 SSID
  660. are a Sailboat, Helo, Airplane, Boat, or Vehicle platform.  Secondly, any of
  661. the APRS symbol designation characters can be placed at the beginning of the
  662. TNC BText surrounded by {} braces.  Once the BText with that symbol is
  663. received, the station will then appear with the proper display symbol.  See
  664. the README.SYM file for details.
  665.  
  666. OPERATION:  With the special UNPROTO start-up ROM, and after initialiation
  667. the other TNC parameters once, all future tracking evolutions are initiated
  668. by simly applying power to the GPS/TNC/Radio.  In over 6 months of daily
  669. operation, I have never had to re-initialize the GPS engine. (The seventh
  670. month the 9 volt battery died!).  Without the special ROM, however, every
  671. tracking evolution requires applying power, turning on a dumb terminal, and
  672. sending the TNC the CONV command.  Then the terminal can be removed or turned
  673. off until the next power up.  If you do not have the UNSTART ROMS, be careful
  674. if you use a battery supply of C or D cells with spring loaded battery
  675. holder!  A bicycle equipped with this system reset the TNC after hitting the
  676. first bump, and there was never time to stop and reset the TNC until the race
  677. was over.  This shows the problem of the TNC not having a power up CONVERSE
  678. mode in it!
  679.  
  680. We have assembled a nmumber of these GPS/PACKET tracking devices.  In fact,
  681. the 7 inch by 3 inch MAGELLAN card fits nicely against the inside cover of
  682. the MFJ 1270 or 1274 TNC.  The only evidence that the TNC is GPS equipped is
  683. the kludge on the backpanel to hold the GPS antenna connector and the
  684. presence of the two switches added to the front panel to select whether the
  685. external terminal device is talking to the GPS or TNC, and to enable or
  686. disable GPS packet reporting.  Other smaller packages have been made using
  687. the PACCOM and DRSI TNC's and the TTL only model of the MAGELLAN GPS card
  688. which is only about 5 inches by 3 inches.  I shy away from this card for the
  689. casual experimenter because of the absence of any data or power supply
  690. buffering.  One wiring error or static charge and you have blown a $395 card!
  691.  
  692. The $445 model with onboard 12 volt regulators and RS-232 buffers is much
  693. more forgiving.  MOST OF THIS TEXT AND THE HOOK-UP SCHEMATICS WERE PUBLISHED
  694. IN THE FEB 94 ISSUE OF QEX.
  695.  
  696.  
  697. CONCLUSION:  With the cost of the new MAGELLAN and Motorola GPS cards falling
  698. below $299 this spring (94) and the size approaching a match box, there is
  699. every reason to begin considering GPS applications in Amateur Radio.  At your
  700. next club budget meeting, instead of throwing another $800 at the repeater
  701. monster, buy the components to build a GPS/TNC tracking device in to a cigar
  702. box size package.  Then at all future public service events, you have a
  703. package with whip antenna on top that can be duck-taped to the top of any
  704. vehicle for automatic vehicle tracking.  Let your imagination roam!
  705.  
  706.  
  707. OTHER EXPERTS OR APRS USERS THAT HAVE GPS INTERFACES RUNNING:
  708.  
  709. WB4APR Bob Bruninga. Annapolis. Built 4 GPS/TNC devices and 22 SATNAV/TRANSIT
  710. W3IWI  Tom Clark. AMSAT GURU working on GPS for Satellites. Uses Motorola
  711. N3MNT  Bob Boltz. Annapolis MD. Has MAGELLAN GPS/TNC mobile
  712. W8RIK  Joe Hussy. Columbus OH is GPS/TNC mobile
  713. N6JSX  Dale Kubicheck Works at MAGELLAN! San Dimas, CA
  714. W1BEL  Gwyn Reedy. Tampa. PACCOM makes commercial TNC/GPS automatic combo
  715. W9LZQ  Kent Helman, Onalaska WI. Built GPS-TNC interface & Did map of WI!
  716. W1KRU  Jim Warakouis. WestRoxbury MA. Built GPS-TNC interface
  717. WB6LPG Bill Bliss. HalfMoonBay CA. Has LORAN (and now GPS mobile)
  718. N5SSY  Ross Mocklin.  NewOrelans LA. Has MAGELLAN cards on order...
  719. KD1E   John Moore. GPS mobile at GM Proving Ground. @ N8NNN.#SEMI.MI
  720.  
  721.  
  722.  
  723. DIFFERENTIAL CORRECTION
  724.  
  725. Tom Clark (W3IWI) has installed a Differential GPS xmtr in the Wash DC area
  726. transmitting 30 second DGPS data on the APRS freq.  APRS GPS mobiles can now
  727. obtain accuracies to 5 meters or so.  We are pleased to report that the RTCM-
  728. 104 format works perfectly well with APRS and with TNC's:
  729.  
  730. *  The GPS rcvrs seem to ignore the packet headers and act on the RTCM data
  731. *  The RTCM gybrish is all printable ASCII and does not garble APRS screens
  732.  
  733. Although this is an excellent demonstration and there are surely HAM
  734. applications that can take advantage of the DGPS accuracy, APRS is probably
  735. not one of them.  First, APRS is not concerned with NAVIGATION accuracy,
  736. because  a) no maps are that accurate (with DGPS you can make 'em so!), and
  737. b) the purpose of APRS is to inform others of mobile locations over a wide VHF
  738. area, NOT to the nearest 15 feet.  (APRS formats do maintain positions to 60
  739. foot precision)  Secondly, A mature APRS net involved in a special event or
  740. activity, can probably NOT handle the QRM from 30 second RTCM transmissions.
  741. In the long term, the DGPS data should probably be transmitted MORE OFTEN and
  742. on another frequency, OR be remotely controlled such that it can be requested
  743. by a mobile user on demand, but silenced most of the time.  Transmitting less
  744. often is meaningless due to latency of the data.  The only application of DGPS
  745. that I can think of is to keep track of golfcarts at a hamfest, and be able
  746. to see who's booth they are at.  I will probably incorporate a ?RTCM? format
  747. in APRS to permit stations to request DGPS data.
  748.  
  749. I am not negative about this at all, I am only pointing out that there is NO
  750. need for you to feel that you need DGPS in your area for APRS.
  751.  
  752. DGPS TRANSMITTER SET UP:  Set your TNC to transmit TO DGPS instead of the
  753. usual TO APRS and set up whatever UNPROTO path is desired to cover the area.
  754. Then enter the location of the DGPS transmitter into the TNC BText in the
  755. usual format making sure to use the special (.) symbol in the symbol field:
  756.  
  757.   BT !3859.11N/07629.11W.RTCM transmitter operated by TOM W3IWI...
  758.  
  759. The symbol designation character is the period (.) following the W for WEST.
  760. All after that is free text.  APRS will flash a DGPS flag on the screen each
  761. time it hears a DGPS transmission, but will not add the station to the L or
  762. P-Lists unless it also sees the (.) symbol in the position report.  Set your
  763. beacon to every half hour or so.  Finally, set your TNC into CONVERSE and
  764. tell your RTCM-104 DGPS receiver to output once every 30 seconds.
  765.  
  766. See the new HSP mode schematic above where I added the interface wire between
  767. your TNC and GPS for automatic DGPS operations.
  768.  
  769. CONFIGURING FOR DGPS:  There are two options for routing the DGPS data from
  770. your TNC to your GPS unit:  1) For ANY arrangement: run an external wire from
  771. your TNC RXD data output over to your GPS DGPS data input.  2) For dual port
  772. operations only:  connect your GPS DGPS input to the PC serial port TXD line
  773. and hit Shift F10 in order to enable DGPS data output from APRS. 
  774. CAUTION:  This will not work if you are operating in the SPM or HSP modes or
  775. if you are using the same serial port TXD output as a source of -V bias for
  776. the NMEA conversion as suggested in the above paragraphs.
  777.  
  778.